<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>文档 - Tinysupe 开源PHP框架</title>
<meta name="keywords" content="文档,Tinysupe,PHP,Framework,开源PHP框架" />
<meta name="description" content="文档,Tinysupe,PHP,Framework,开源PHP框架" />
<link href="images/default.css" rel="stylesheet" type="text/css" />
<link href="<?php echo $skindir; ?>images/default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php include('include/header.tpl.php'); ?>
<div id="content">
	<div id="main2">
		<div id="welcome" class="boxed">
        	<div class="title">
				<h2>系统架构</h2>
			</div>
            <div class="content">
            	<img src="<?php echo $skindir; ?>images/tinysupe.jpg" width="270" height="200" class="left" />
				<p>Tinysupe采用MVC模式开发，总体架构如右图所示：</p>
				<blockquote>
					<p>整个系统围绕内核（Kernel）运行，Kernel通过控制器（Ctrler）来调用模型（Model）和视图（View）。</p>
				</blockquote>
                <p>内核（Kernel）主要实现了核心对象初始化、URL过滤、URL路由、控制调用，扩展调用等功能。</p>
                <p>控制器（Ctrler）主要通过 import 和 display 方法来实现对模型（Model）和视图（View）的调用。</p>
				<h3>运行机制</h3>
				<ul>
					<li><b>单一入口</b>：index.php 即是系统的入口也是系统的配置文件。</li>
					<li><b>加载程序</b>：loader.php 主要功能是装载系统内核和启动内核等。</li>
					<li><b>系统内核</b>：kernel/*.php 主要是核心函数、数据库类、主题引擎、模型父类、内核主类等。</li>
                    <li>核心函数：cores.php 主要定义了一些核心的函数。</li>
                    <li>数据库类：dbase.php 数据库操作类同时加入了数据库查询缓存功能。</li>
                    <li>主题引擎：theme.php 原生PHP模板引擎同时加入了页面缓存功能。</li>
                    <li>模型父类：model.php 模型（Model）的父类。</li>
                    <li>内核主类：kernel.php 主要实现了核心对象初始化、URL过滤、URL路由、控制调用，扩展调用等功能。</li>
                    <li><b>控制调用</b>：routes/*.ctl.php URL路由直接调用控制器使WEB应用开发简单、扩展灵活、功能强大。</li>
                    <li><b>主题模板</b>：themes/*.tpl.php 使用原生的PHP模板开发简单、功能强大、执行极速。</li>
                    <li><b>扩展调用</b>：extend/startup.php 主要实现一些扩展的功能。</li>
                    <li>自由扩展：extend/*.php 主要实现一些自定义的扩展功能，需要用户自行导入。</li>
				</ul>
                <p class="dotted">&nbsp;</p>
                <p><b>注</b>：以上为Tinysupe2.x的系统架构。</p>
            </div>
		</div>
		<!-- end #welcome -->
        <div id="example" class="boxed">
			<div class="title">
				<h2>使用说明</h2>
			</div>
            <div class="content">
				<p><b>Tinysupe</b>主要由<b>核心部分</b>和<b>应用部分</b>两部分构成，<b>核心部分</b>是加载程序（Loader）和系统内核（Kernel）组成，<b>应用部分</b>是剩余的包括控制调用、主题模板和自由扩展等在内的部分。</p>
				<blockquote>
					<p>整个WEB应用的相关功能都是通过加载<b>核心部分</b>来调用<b>应用部分</b>的程序而实现的。</p>
				</blockquote>
				<h3>系统配置</h3>
				<ul>
					<li>配置文件：index.php （.htaccess | httpd.ini | web.config）</li>
					<li>URL重写：<code>define('REWRITE', true);</code></li>
                    <li>网站目录：<code>define('SITEDIR', dirname(__FILE__));</code></li>
					<li>应用目录：<code>define('ROOTDIR', dirname(__FILE__) .'/webapp');</code></li>
                    <li>主题模板：<code>$config['theme'] = array('admin' => 'manage', '*' => 'default');</code></li>
                    <li>过滤规则：<code>$config['rules'] = array('admin\/(\w+)' => 'm=admin&c=$1', '(\w+)' => 'm=$1');</code></li>
                    <li>核心目录：<code>require(dirname(__FILE__) .'/tinysupe/loader.php');</code></li>
				</ul>
                <p class="dotted">当应用部分和入口（index.php）不再同一目录时，主题模板的样式需要做相应的调整，样式图片可以放在入口目录或者其他专用站点。</p>
                <h3>应用开发</h3>
				<ul>
                	<li>缓存目录：webapp/caches</li>
					<li>模式目录：webapp/models</li>
					<li>视图目录：webapp/themes</li>
					<li>控制目录：webapp/routes</li>
                    <li>扩展目录：webapp/extend</li>
				</ul>
                <p class="dotted">&nbsp;</p>
                <p><b>注</b>：使用说明部分设置以Tinysupe2.1为准，V2.0版本也可以做对应的设置。</p>
			</div>
		</div>
	</div>
	<!-- end #main2 -->
<?php include('include/righter.tpl.php'); ?>
	<div style="clear: both;">&nbsp;</div>
</div>
<!-- end #sidebar2 -->
<!-- end #content -->
<?php include('include/footer.tpl.php'); ?>
</body>
</html>
